package cn.swpu.blog.service;

import cn.swpu.blog.from.SaveBlogFrom;
import cn.swpu.blog.from.UpdateBlogFrom;
import cn.swpu.blog.vo.BlogDetailVo;
import cn.swpu.blog.vo.ResponseVo;
import com.github.pagehelper.PageInfo;
import io.swagger.models.auth.In;

import java.util.Map;

/**
 * @Author 冰翔
 * @Date Created in 10:18 下午 2020/12/10
 */
public interface IBlogService {

    /**
     * 根据博客ID查询，博客所有内容
     * @param blogId
     * @return
     */
    ResponseVo<BlogDetailVo> queryBlogDetail(Integer blogId);

    /**
     * 查询出所有的博客，分页返回
     * @param pageNum
     * @param pageSize
     * @return
     */
    ResponseVo<PageInfo> pageBlog(Integer pageNum, Integer pageSize);

    /**
     * 存储博客
     * @param from
     * @return
     */
    ResponseVo<Map<String, Integer>> saveBlog(SaveBlogFrom from);

    /**
     * 设置置顶
     * @param blogId
     * @return
     */
    ResponseVo setTop(Integer blogId);

    /**
     * 取消置顶
     * @param blogId
     * @return
     */
    ResponseVo cancelTop(Integer blogId);

    /**
     * 删除博客
     * @param blogId
     * @return
     */
    ResponseVo deleteBlog(Integer blogId);

    /**
     * 根据id更新博客
     * @param from
     * @return
     */
    ResponseVo updateBlog(UpdateBlogFrom from);
}
